package com.wing.product.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Schema
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "warehouse_product")
public class WarehouseProductVO extends BaseEntity<WarehouseProductVO> {

    @TableField(value = "product_id")
    @Schema(description="原产品id 取pro_product 表")
    private Long productId;

    @TableField(value = "product_type_id")
    @Schema(description="产品类型 取 pro_product_type表")
    private Long productTypeId;

    private String productType;

    @TableField(value = "product_category_id")
    @Schema(description="所属分类 取 pro_product_category表")
    private Long productCategoryId;
    private String productCategory;

    @TableField(value = "product_variety_id")
    @Schema(description="品种")
    private Long productVarietyId;
    private String productVariety;

    @TableField(value = "product_material_id")
    @Schema(description="材质")
    private Long productMaterialId;
    private String productMaterial;

    @TableField(value = "product_brand_id")
    @Schema(description="产品品牌 取 pro_product_brand表")
    private Long productBrandId;
    private String productBrand;

    @TableField(value = "product_name")
    @Schema(description="产品名称")
    private String productName;

    @TableField(value = "product_code")
    @Schema(description="产品编码（sku）")
    private String productCode;

    @TableField(value = "product_main_unit_id")
    @Schema(description="主单位")
    private Long productMainUnitId;
    private String productMainUnit;

    @TableField(value = "product_sub_unit_id")
    @Schema(description="辅单位")
    private Long productSubUnitId;
    private String productSubUnit;

    @TableField(value = "product_image_url")
    @Schema(description="产品图片地址")
    private String productImageUrl;

    @TableField(value = "product_spec_code")
    @Schema(description="规格码")
    private String productSpecCode;

    @TableField(value = "thing_code_status")
    @Schema(description="是否一物一码")
    private String thingCodeStatus;

    @TableField(value = "customer_id")
    @Schema(description="供应商id")
    private Long customerId;
    private String customer;

    @TableField(value = "width")
    private Double width;

//    @TableField(value = "length")
//    private Double length;

    @TableField(value = "diameter")
    private Double diameter;

    @TableField(value = "weight")
    private Double netWeight;

    @TableField(value = "weight")
    private Double grossWeight;

    @Schema(description = "牌号")
    @TableField(value = "product_mark_id")
    private Long productMarkId;
    private String productMark;

    @Schema(description = "生产商")
    @TableField(value = "product_producer_id")
    private String productProducerId;
    private String productProducer;

    @Schema(description = "价格")
    private Double price;

    @Schema(description = "客户编码")
    private String customerCode;

    @Schema(description = "分布库区")
    private Integer warehouseAreaSum;

    @Schema(description = "分布库位")
    private Integer warehouseShelfSpaceSum;

    @Schema(description = "库存数量")
    private Integer inventoryQuantity;

    @Schema(description = "库存总净重")
    private Double inventoryNetWeight;

    @Schema(description = "库存总毛重")
    private Double inventoryGrossWeight;

    @Schema(description = "库位编号")
    private String warehouseShelfSpaceCode;

    @Schema(description = "产品明细")
    private List<WarehouseProductInventoryVO> warehouseProductInventoryVOList;

//    @TableField(value = "length")
//    private Double productLength;

    @TableField(value = "length")
    private String productLength;



}